package com.hoshiicloud.saleorder.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
* <p>
*
* </p>
*
* @author zhangshuhu
* @since 2019-06-03
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="PoDTO对象", description="")
public class PoDTO implements Serializable {

    private static final long serialVersionUID = 1L;
    /**
    * 公司ID
    */
    @ApiModelProperty(value = "公司ID")
    private Long companyid;
    /**
    * 平台ID
    */
    @ApiModelProperty(value = "平台ID")
    private Long platformid;
    /**
    * 店铺ID
    */
    @ApiModelProperty(value = "店铺ID")
    private Long storeid;
    /**
    * 订单类型,1-租户采购 2-租户供应商 3-平台采购 4-平台供应商 5-店铺采购 6-店铺供应商
    */
    @ApiModelProperty(value = "订单类型,1-租户采购 2-租户供应商 3-平台采购 4-平台供应商 5-店铺采购 6-店铺供应商")
    private Integer source;
    /**
    * 1-预采单 2-实采单  3-补采单 9-销售单
    */
    @ApiModelProperty(value = "1-预采单 2-实采单  3-补采单 9-销售单")
    private Integer type;
    /**
    * 采购单编号
    */
    @ApiModelProperty(value = "采购单编号")
    private String poNo;
    /**
    * 采购单日期
    */
    @ApiModelProperty(value = "采购单日期")
    private LocalDateTime poDate;
    /**
    * 供应商id
    */
    @ApiModelProperty(value = "供应商id")
    private Long vendorId;
    /**
    * 供应商仓库
    */
    @ApiModelProperty(value = "供应商仓库")
    private Long vendorWhid;
    /**
    * 平台仓库
    */
    @ApiModelProperty(value = "平台仓库")
    private Long platformWhid;
    /**
    * 店铺仓库
    */
    @ApiModelProperty(value = "店铺仓库")
    private Long storeWhid;
    /**
    * 订单金额
    */
    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderAmount;
    /**
    * 商品件数
    */
    @ApiModelProperty(value = "商品件数")
    private Long orderCount;
    /**
    * 收货人id
    */
    @ApiModelProperty(value = "收货人id")
    private Long memberid;
    /**
    * 收货地址
    */
    @ApiModelProperty(value = "收货地址")
    private String address;
    /**
    * 收货人的姓名
    */
    @ApiModelProperty(value = "收货人的姓名")
    private String consignee;
    /**
    * 收货人的国家region
    */
    @ApiModelProperty(value = "收货人的国家region")
    private Integer country;
    /**
    * 收货人的省份
    */
    @ApiModelProperty(value = "收货人的省份")
    private Integer province;
    /**
    * 收货人的城市
    */
    @ApiModelProperty(value = "收货人的城市")
    private Integer city;
    /**
    * 收货人的地区
    */
    @ApiModelProperty(value = "收货人的地区")
    private Integer district;
    /**
    * 收货人的邮编
    */
    @ApiModelProperty(value = "收货人的邮编")
    private String zipcode;
    /**
    * 收货人的电话
    */
    @ApiModelProperty(value = "收货人的电话")
    private String telphone;
    /**
    * 收货人的手机
    */
    @ApiModelProperty(value = "收货人的手机")
    private String mobile;
    /**
    * 收货人的邮箱
    */
    @ApiModelProperty(value = "收货人的邮箱")
    private String email;
    /**
    * 交货日期
    */
    @ApiModelProperty(value = "交货日期")
    private LocalDateTime deliveryDate;
    /**
    * 订单状态  0-初始下单 2-已确认 3-执行中 4-已完成 5-已作废
    */
    @ApiModelProperty(value = "订单状态  0-初始下单 2-已确认 3-执行中 4-已完成 5-已作废")
    private Integer status;
    /**
    * 结算状态  1-已结算  0-未结算
    */
    @ApiModelProperty(value = "结算状态  1-已结算  0-未结算")
    private Integer settleStatus;
    /**
    * 结算金额
    */
    @ApiModelProperty(value = "结算金额")
    private BigDecimal settleAmount;
    /**
    * 制单人
    */
    @ApiModelProperty(value = "制单人")
    private String createdby;
    /**
    * 制单时间
    */
    @ApiModelProperty(value = "制单时间")
    private LocalDateTime createdtime;
}
